package com.example.demo.compoent;


import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Component
public class BeanLife {
    private User user;

    //1.实例化
    public BeanLife(){
        System.out.println("BeanLife - 第一步  - 实例化");
    }

    //2.属性赋值（其实就是依赖注入）

    @Qualifier("getUser1")
    @Autowired
    public void setUser(User user){
        System.out.println("BeanLife - 第二步 - 属性赋值");
        this.user = user;
    }

    //3.初始化（一些信息的设置）

    @PostConstruct
    public void init(){
        System.out.println("BeanLife - 第三步 - 初始化");
    }

    public void use(){
        System.out.println("BeanLife - 第四步 - 使用");
    }

    @PreDestroy
    public void destory(){
        System.out.println("BeanLife - 第五步 - 销毁");
    }



}
